home *** CD-ROM | disk | FTP | other *** search
- /*
- File: Icons.h
-
- Contains: Public C Interfaces for color icon plotting routines
-
- Copyright: © 1990 by Apple Computer, Inc., all rights reserved.
-
- (Extended as per Technical Note "Drawing Icons the System 7 Way" of October 1992.)
- (Extended to include System 7.1 Fonts folder icon family ID.)
-
- */
-
- #ifndef __ICONS__
- #define __ICONS__
-
- /* The following are icons for which there are both icon suites and SICNs. */
-
- #define genericDocumentIconResource -4000
- #define genericStationeryIconResource -3985
- #define genericEditionFileIconResource -3989
- #define genericApplicationIconResource -3996
- #define genericDeskAccessoryIconResource -3991
-
- #define genericFolderIconResource -3999
- #define privateFolderIconResource -3994
-
- #define floppyIconResource -3998
- #define trashIconResource -3993
-
- /* The following are icons for which there are SICNs only. */
-
- #define desktopIconResource -3992
- #define openFolderIconResource -3997
- #define genericHardDiskIconResource -3995
- #define genericFileServerIconResource -3972
- #define genericSuitcaseIconResource -3970
- #define genericMoverObjectIconResource -3969
-
- /* The following are icons for which there are icon suites only. */
-
- #define genericPreferencesIconResource -3971
- #define genericQueryDocumentIconResource -16506
- #define genericExtensionIconResource -16415
-
- #define systemFolderIconResource -3983
- #define appleMenuFolderIconResource -3982
- #define startupFolderIconResource -3981
- #define ownedFolderIconResource -3980
- #define dropFolderIconResource -3979
- #define sharedFolderIconResource -3978
- #define mountedFolderIconResource -3977
- #define controlPanelFolderIconResource -3976
- #define printMonitorFolderIconResource -3975
- #define preferencesFolderIconResource -3974
- #define extensionsFolderIconResource -3973
- #define fontsFolderIconResource -3968
-
- #define fullTrashIconResource -3984
-
- #define large1BitMask 'ICN#'
- #define large4BitData 'icl4'
- #define large8BitData 'icl8'
- #define small1BitMask 'ics#'
- #define small4BitData 'ics4'
- #define small8BitData 'ics8'
- #define mini1BitMask 'icm#'
- #define mini4BitData 'icm4'
- #define mini8BitData 'icm8'
-
-
- /* extensions as per Technical Note "Drawing Icons the System 7 Way" of October 1992 */
-
-
- /* IconTransformType values */
- enum {
- ttNone = 0x0,
- ttDisabled = 0x1,
- ttOffline = 0x2,
- ttOpen = 0x3,
- ttSelected = 0x4000,
- ttSelectedDisabled = (ttSelected + ttDisabled),
- ttSelectedOffline = (ttSelected + ttOffline),
- ttSelectedOpen = (ttSelected + ttOpen)
- };
-
- enum {
- ttLabel0 = 0x0000,
- ttLabel1 = 0x0100,
- ttLabel2 = 0x0200,
- ttLabel3 = 0x0300,
- ttLabel4 = 0x0400,
- ttLabel5 = 0x0500,
- ttLabel6 = 0x0600,
- ttLabel7 = 0x0700
- };
-
- /* IconAlignmentType values */
- enum {
- atNone = 0x0,
- atVerticalCenter = 0x1,
- atTop = 0x2,
- atBottom = 0x3,
- atHorizontalCenter = 0x4,
- atAbsoluteCenter = (atVerticalCenter + atHorizontalCenter),
- atCenterTop = (atTop + atHorizontalCenter),
- atCenterBottom = (atBottom + atHorizontalCenter),
- atLeft = 0x8,
- atCenterLeft = (atVerticalCenter + atLeft),
- atTopLeft = (atTop + atLeft),
- atBottomLeft = (atBottom + atLeft),
- atRight = 0xC,
- atCenterRight = (atVerticalCenter + atRight),
- atTopRight = (atTop + atRight),
- atBottomRight = (atBottom + atRight)
- };
-
- /* IconSelectorValue values */
- enum {
- svLarge1Bit = 0x00000001,
- svLarge4Bit = 0x00000002,
- svLarge8Bit = 0x00000004,
- svSmall1Bit = 0x00000100,
- svSmall4Bit = 0x00000200,
- svSmall8Bit = 0x00000400,
- svMini1Bit = 0x00010000,
- svMini4Bit = 0x00020000,
- svMini8Bit = 0x00040000,
- svAllLargeData = 0x000000FF,
- svAllSmallData = 0x0000FF00,
- svAllMiniData = 0x00FF0000,
- svAll1BitData = (svLarge1Bit + svSmall1Bit + svMini1Bit),
- svAll4BitData = (svLarge4Bit + svSmall4Bit + svMini4Bit),
- svAll8BitData = (svLarge8Bit + svSmall8Bit + svMini8Bit),
- svAllAvailableD = 0xFFFFFFFF
- };
-
- /* C Typedefs */
-
- typedef pascal OSErr (*IconAction)(ResType theType, Handle *theIcon, void *yourDataPtr);
- typedef pascal Handle (*IconGetter)(ResType theType, void *yourDataPtr);
- typedef unsigned long IconSelectorValue;
- typedef short IconAlignmentType;
- typedef short IconTransformType;
-
- /* C Glue */
-
- pascal OSErr PlotIconID(const Rect *theRect, IconAlignmentType align,
- IconTransformType transform, short theResID)
- = {0x303C, 0x0500, 0xABC9};
- pascal OSErr NewIconSuite(Handle *theIconSuite)
- = {0x303C, 0x0207, 0xABC9};
- pascal OSErr AddIconToSuite(Handle theIconData, Handle theSuite, ResType theType)
- = {0x303C, 0x0608, 0xABC9};
- pascal OSErr GetIconFromSuite(Handle *theIconData, Handle theSuite, ResType theType)
- = {0x303C, 0x0609, 0xABC9};
- pascal OSErr ForEachIconDo(Handle theSuite, IconSelectorValue selector, IconAction action,
- void *yourDataPtr)
- = {0x303C, 0x080A, 0xABC9};
- pascal OSErr GetIconSuite(Handle *theIconSuite, short theResID, IconSelectorValue selector)
- = {0x303C, 0x0501, 0xABC9};
- pascal OSErr DisposeIconSuite(Handle theIconSuite, Boolean disposeData)
- = {0x303C, 0x0302, 0xABC9};
- pascal OSErr PlotIconSuite(const Rect *theRect, IconAlignmentType align,
- IconTransformType transform, Handle theIconSuite)
- = {0x303C, 0x0603, 0xABC9};
- pascal OSErr MakeIconCache(Handle *theHandle, IconGetter makeIcon, void *yourDataPtr)
- = {0x303C, 0x0604, 0xABC9};
- pascal OSErr LoadIconCache(const Rect *theRect, IconAlignmentType align,
- IconTransformType transform, Handle theIconCache)
- = {0x303C, 0x0606, 0xABC9};
- pascal OSErr PlotIconMethod(const Rect *theRect, IconAlignmentType align,
- IconTransformType transform, IconGetter theMethod,
- void *yourDataPtr)
- = {0x303C, 0x0805, 0xABC9};
- pascal OSErr GetLabel(short labelNumber, RGBColor *labelColor, Str255 labelString)
- = {0x303c, 0x050B, 0xABC9};
- pascal Boolean PtInIconID(Point testPt, Rect *iconRect, IconAlignmentType alignment,
- short iconID)
- = {0x303c, 0x060D, 0xABC9};
- pascal Boolean PtInIconSuite(Point testPt, Rect *iconRect, IconAlignmentType alignment,
- Handle theIconSuite)
- = {0x303c, 0x070E, 0xABC9};
- pascal Boolean PtInIconMethod(Point testPt, Rect *iconRect, IconAlignmentType alignment,
- IconGetter theMethod, void *yourDataPtr)
- = {0x303c, 0x090F, 0xABC9};
- pascal Boolean RectInIconID(Rect *testRect, Rect *iconRect, IconAlignmentType alignment,
- short iconID)
- = {0x303c, 0x0610, 0xABC9};
- pascal Boolean RectInIconSuite(Rect *testRect, Rect *iconRect, IconAlignmentType alignment,
- Handle theIconSuite)
- = {0x303c, 0x0711, 0xABC9};
- pascal Boolean RectInIconMethod(Rect *testRect, Rect *iconRect, IconAlignmentType alignment,
- IconGetter theMethod, void *yourDataPtr)
- = {0x303c, 0x0912, 0xABC9};
- pascal OSErr IconIDToRgn(RgnHandle theRgn, Rect *iconRect, IconAlignmentType alignment,
- short iconID)
- = {0x303c, 0x0613, 0xABC9};
- pascal OSErr IconSuiteToRgn(RgnHandle theRgn, Rect *iconRect, IconAlignmentType alignment,
- Handle theIconSuite)
- = {0x303c, 0x0714, 0xABC9};
- pascal OSErr IconMethodToRgn(RgnHandle theRgn, Rect *iconRect, IconAlignmentType alignment,
- IconGetter theMethod, void *yourDataPtr)
- = {0x303c, 0x0915, 0xABC9};
- pascal OSErr SetSuiteLabel(Handle theSuite, short theLabel)
- = {0x303C, 0x0316, 0xABC9};
- pascal short GetSuiteLabel(Handle theSuite)
- = {0x303C, 0x0217, 0xABC9};
- pascal OSErr GetIconCacheData(Handle theCache, void **theData)
- = {0x303C, 0x0419, 0xABC9};
- pascal OSErr SetIconCacheData(Handle theCache, void *theData)
- = {0x303C, 0x041A, 0xABC9};
- pascal OSErr GetIconCacheProc(Handle theCache, IconGetter *theProc)
- = {0x303C, 0x041B, 0xABC9};
- pascal OSErr SetIconCacheProc(Handle theCache, IconGetter theProc)
- = {0x303C, 0x041C, 0xABC9};
- pascal OSErr PlotIconHandle(const Rect *theRect, IconAlignmentType align,
- IconTransformType transform, Handle theIcon)
- = {0x303C, 0x061D, 0xABC9};
- pascal OSErr PlotSICNHandle(const Rect *theRect, IconAlignmentType align,
- IconTransformType transform, Handle theSICN)
- = {0x303C, 0x061E, 0xABC9};
- pascal OSErr PlotCIconHandle(const Rect *theRect, IconAlignmentType align,
- IconTransformType transform, CIconHandle theCIcon)
- = {0x303C, 0x061F, 0xABC9};
-
- #endif
-